1. Field of the Invention
The present invention relates to a semiconductor device, more particularly to a semiconductor integrated circuit comprising a circuit block which operates based on initializing data and a circuit which transfers the initializing data.
2. Description of the Related Art
The amount of analog data output from a circuit made up of transistors inevitably varies depending upon the characteristic variation among the transistors. The variation amount of analog data can be corrected to be a predetermined value, and this correction operation is known as “trimming.” Redundancy is also known in the art as a technology for remedying defective cells of a memory by use of a redundancy circuit.
To put the trimming or redundancy to practical use, a data distribution circuit is provided to send trimming data based on which the trimming is performed, or redundancy data based on which the redundancy is performed. The data distribution circuit comprises programmable nonvolatile elements for retaining initializing data such as trimming data or redundancy data. It also comprises a shift register made up of flip-flops and configured to store the initializing data. The shift register is made up of flip-flops which are equal in number to the pieces of the initializing data. The data distribution circuit sends the initializing data to a group of circuit blocks located far away. Each circuit block performs trimming and redundancy, using the initializing data it receives.
The above configuration is disadvantageous in the following points: (i) it is not possible to externally confirm whether the initializing data of the nonvolatile elements are correctly set in the shift register, and (ii) it is not possible to externally confirm whether the initializing data are correctly supplied to the circuit blocks. Furthermore, the nonvolatile elements are programmable only once. After the nonvolatile element is programmed, the data used for programming is the only data that is available, and the circuit blocks cannot use data other than the programming data.
When the data of the nonvolatile elements is set in the shift register, the above configuration uses pulse signals. The shift register is made up of a plurality of flip-flops. Where the initializing data have a large data width, the number of flip-flops required is large. Therefore, a plurality of shift registers, each corresponding to a predetermined number of bits, are used, and these shift registers are connected in series to deal with the initializing data. To transmit pulse signals to the multi-stage shift register, a plurality of buffers made up of transistors are used.
Where a plurality of buffers are used for data setting, the characteristic difference among the transistors becomes more marked in accordance with an increase in the number of pieces of data, and the pulse signals may not be transmitted to the final stage with a satisfactory margin. In other words, the characteristic difference among the transistors gives rise to a decrease in the pulse width of the pulse signals. In the worst case, the pulse signals may be lost during the transmission. Owing to this, data may not be set in the shift register of the final stage.
A semiconductor device related to the above art enables external setting of trimming data. Such a semiconductor device is disclosed in Jpn. Pat. Appln. KOKAI Publication No. 2003-110029, for example.